The invention relates to receiving a data signal stream that is representative of data stored in a file.
Downloading a picture, or visual image, from a server (a server on the Internet, for example) into a computer typically includes downloading an image file. The image file includes information, or data, which describes how the image is to be xe2x80x9cdrawnxe2x80x9d by the computer. For example, for a three-dimensional (3-D) image, the file might include data describing the location of selected points of the image. In an arrangement typically referred to as a 3-D mesh, the data in the file describes the image as a collection of triangles. In this manner, the data might describe, for example, vertices of the triangles. The file might also include data representing additional information about the triangles, such as the colors and textures of the triangles.
Typically, the file cannot be downloaded all at once, but instead, the file is downloaded in a piecemeal fashion via a data signal stream. The data signal stream might represent a series of records (of the file), each of which describes one or more features of the image. Quite often, the records are received one at a time by the computer, each in response to a request by the computer. Because a user of the computer may not want to wait for completion of the downloading before viewing some version of the image, the data in the file might be arranged in a progressive format.
In a progressive file format, the records are arranged so that records describing lower resolution versions of the image appear first in the stream of signal data. The computer uses the initial record(s) to draw a low resolution version of the image while still receiving the remaining records via the signal stream. In this manner, as the file is being transferred from the server to the computer, each record that is received may be used to progressively transform the lower resolution versions (of the image) that are displayed on the computer into progressively higher resolution versions.
Downloading the file may consume a considerable amount of time, especially if the file includes data describing a high resolution image. For example, a high resolution image may include in excess of ten thousand vertices and may consume a considerable amount of downloading time, as compared to a lower resolution version of the image. Recognizing that lower resolution versions of the image may be downloaded more rapidly than the higher resolution versions, a user may sometimes have an option to select between a file describing a high resolution image and another file describing a lower resolution image. However, many factors (size, detail and/or texture, as examples) besides resolution determine the quality of the image. As a result, a choice between resolutions usually does not aid the user in determining the quality of the end product after downloading is complete.
Thus, for the case where downloading only a portion of a file is desired, there is a continuing need for a technique that allows a user to select the quality of the portion to be downloaded.
In one embodiment, a method includes monitoring a quality level of data being received from a file and regulating the reception of the data based on the monitored quality level.
In another embodiment, a method includes receiving a stream of data that is representative of data stored in a file. The stream is monitored to determine a quality level of a portion of the file. The quality level is compared with a predetermined threshold, and the reception of the stream is regulated based on the comparison.
In yet another embodiment, an article includes a computer readable storage medium for storing a program. The program includes instructions for causing a computer to receive a stream of data that is representative of data stored in a file. The program also includes instructions that cause the computer to monitor the stream to determine a quality level of the portion of the file. Instructions of the program cause the computer to compare the quality level with a predetermined threshold and also cause the computer to regulate the reception of the stream based on the comparison of the quality level with the predetermined threshold.